Wavefront sensor and method of reconstructing distorted wavefronts

ABSTRACT

A wavefront sensor includes a mask and a sensor utilized to capture a diffraction pattern generated by light incident to the mask. A reference image is captured in response to a plane wavefront incident on the mask, and another measurement image is captured in response to a distorted wavefront incident on the mask. The distorted wavefront is reconstructed based on differences between the reference image and the measurement image.

TECHNICAL FIELD

The present disclosure is related generally to wavefront sensors, and in particular to modulated wavefront sensors.

BACKGROUND

A wavefront sensor is a device utilized to measure aberrations in an optical wavefront. Wavefront sensors are utilized in a number of applications, including in fields of adaptive optics, ophthalmology, etc. For example, an adaptive optics device measures the aberrations in the optical wavefront and then corrects the aberrations such that the light provided to a measuring device (e.g., telescope) is collimated.

Current wavefront sensors are typically described as a Shack-Hartmann type sensor, which is a first-order method utilized to detect wavefront slopes, and a curvature sensing type, which is a second order method. With respect to the Shack-Hartman wavefront sensor, this type of wavefront sensor utilizes an array of lenses that focus an incoming wavefront onto a sensor such as a CCD array or CMOS array sensor. If the wavefront is planar (i.e., does not have any aberrations) then the spots or points of light focused by each lenslet show no displacement, i.e. the spots locate at the center. If the wavefront is not planar, then the local slope of the wavefront at each particular lenslet results in a proportional displacement of the spot focused on the sensor, compared to the spots of planar wavefront.

However, the Shack-Hartmann type wavefront sensor suffers from several drawbacks, including poor resolution, and poor pixel utilization. For example, the resolution of the Shack-Hartmann type wavefront sensor is largely dependent on the number of lenslets in the microlens array. The maximum wavefront resolution depends on the number of lenslets in the microlens array, and its sampling period is the inverse of the spacing between two neighboring lenslets, which prevents high resolution wavefront slope detection. Therefore, it would be beneficial to introduce a wavefront sensor that cures these deficiencies.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a block diagram of a Coded Shack-Hartmann (CSH) wavefront sensor according to an embodiment of the present invention.

FIGS. 2a and 2b are block diagrams illustrating steps utilized to calibrate and utilize the CSH wavefront sensor according to an embodiment of the present invention.

FIG. 3 illustrates the capture of a planar/reference wavefront image, a distorted/measurement wavefront image, and the difference between the reference wavefront image and the measurement wavefront image.

FIG. 4 illustrate fabrication of the mask (a binary one, in this case) utilized by the wavefront sensor according to an embodiment of the present invention.

FIG. 5 is a graph indicating how proximal parameter X, affects convergence of the algorithm according to an embodiment of the present invention.

FIG. 6 are graphs that illustrate the accuracy of the CSH wavefront sensor according to an embodiment of the present invention.

DETAILED DESCRIPTION

The present invention provides a wavefront sensor utilized to measure the phase of distorted wavefronts. In one embodiment, the wavefront sensor described herein as a Coded Shack-Hartmann (CSH) wavefront sensor utilizes a foreground mask that modulates the incoming wavefront at diffraction scale. The resulting wavefront information is encoded in the diffraction pattern, and is numerically decoded by a wavefront reconstruction algorithm that relies on a simple optimization method. In this way, the CSH wavefront sensor provides higher pixel utilization, full sensor resolution wavefront reconstruction, and efficient parallel computation and real-time performance as compared with traditional wavefront sensors such as the traditional Shack-Hartmann wavefront sensor.

FIG. 1 is a block diagram of CSH wavefront sensor 100 according to an embodiment of the present invention. CSH wavefront sensor 100 includes a mask 102, sensor 104, and processing system 106, which includes microprocessor 108 and memory 110. Mask 102 is located in the foreground with respect to sensor 104, separated by a distance

. In one embodiment, mask 102 is a uniform random binary mask, and sensor 104 is a monochromatic sensor. In addition, the distance

is small; for example, in one embodiment the distance

may be set equal to approximately 1.6 millimeters (mm) However, in other embodiments, depending on the application the distance z may be selected within a wide range of distances to create the desired diffraction pattern (e.g., tenths of millimeters to centimeters).

The location of mask 102 modulates the incoming wavefront, whose local slopes are encoded as local movements of the diffraction pattern, which is then captured by sensor 104. In the embodiment shown in FIG. 1, a uniform random binary mask is utilized to modulate the incoming wavefront. However, in other embodiments, other types of masks may be utilized such as a non-uniform random, gray scale mask, a diffuser, or a wavelength--dependent mask, each capable of modulating the incoming light. For example, a non-uniform random mask may be utilized to create a specific diffraction pattern onto sensor 104. In still other embodiments, the type and or distance z the mask 102 is placed from the sensor 104 may depend on the wavelength of the light being captured. The captured image is a result of how the distorted wavefront is diffracted through the mask 102, and is provided to processing system 106 for processing. As described in more detail with respect to FIGS. 2a and 2b , measurement of the distorted wavefront requires first capturing the diffraction pattern of a planar wavefront which is utilized as a calibration or reference image. Subsequently, the diffraction pattern of a distorted wavefront is captured—designated as a measurement image. Given the reference image and the measurement image—the image pair, from which the local slope information of the distorted wavefront is numerically decoded.

In one embodiment, the accuracy of the CSH wavefront sensor is dependent, at least in part, on the distinctive diffraction pattern generated among neighbors, which in turn is determined in general by the mask 102 utilized, and the setup distance

as well. However, the requirement for distinctiveness over neighbors must be weighed against practical issues of light-efficiency and fabrication easiness. In one embodiment, mask 102 utilizes a uniformly random pattern. However, in other embodiments the mask may be optimized to satisfy the distinctiveness requirements while maintaining the required light-efficiency and fabrication requirements. Also, in other embodiments the mask need not be binary, for example a greyscale mask, or a colored mask that is capable for wavelength-variant amplitude modulation, for the sake of specific applications.

In one embodiment, the distance

is dependent on specific requirement. If the distance

is too small, this results in a small diffraction of the mask, and thus weakens the distinctiveness between neighbors. This is best illustrated via a hypothetical in which the distance

is reduced to zero, in which case the captured image is always equal to the mask pattern itself. In addition, if the distance

is too small, then the warped displacement flow z∇φ(r) becomes too small and is non-sensible by the Horn-Schunck intensity preserving assumption, and is more vulnerable to the sensor pixel noise and quantization error. In contrast, a large

value makes the CSH wavefront sensor physically bulky, and more diffractive is the unknown wavefront scalar field. This weakens our basic assumption that the unknown wavefront phase is of low-diffraction. Further, large

value also enhances the diffraction of mask 102, and possibly leads to a low contrast diffraction pattern and thus weakens the distinctiveness between neighbors as well, consequently impair the wavefront sensing ability of the CSH.

FIGS. 2a and 2b are block diagrams illustrating steps utilized to calibrate and utilize the CSH wavefront sensor according to an embodiment of the present invention. FIG. 2a illustrates the calibration step, in Which planar wavefront 200 is provided to CSH wavefront sensor 100 to allow for the capturing of a reference image. In one embodiment the captured reference image is stored to memory 110. In one embodiment, the illumination source utilized to generate the planar wavefront is a collimated source. Once the reference image has been captured, CSH wavefront sensor 100 is ready to be utilized. An example of a captured reference image is illustrated in FIG. 3a , below.

FIG. 2b illustrates the measurement step, in which distorted wavefront 202 is provided to CSH wavefront sensor 100 to allow for the capturing of a measurement image. As discussed above, mask 102 is interpreted as modulating the incoming distorted wavefront 202. After propagating through a small distance

, the wavefront is encoded and then captured by sensor 104. Once again, in one embodiment the captured reference image is also stored to memory 110. Having captured the measurement image, processing system 106 compares the diffraction pattern of the reference image with the diffraction pattern of the measurement image. As discussed in more detail below, microprocessor 108 (shown in FIG. 1) utilized to compare the diffraction patterns may be implemented with a central processing unit (CPU) or a graphical processing unit (GPU). The GPU provides parallelism benefits over the CPU, and therefore may provide shorter execution times than the CPU. The measured difference between the two images results in sub-pixel shifting, which indicates the changes of local slopes. A benefit of this approach is that the measurement is independent of wavelength, so white incoherent illumination is sufficient and no coherent lights are needed.

The following derivation is provided to illustrate the feasibility of the above-identified CSH wavefront sensor. Consider a general scalar field u₀(r) (coordinate r=[x y]T) with wave number k=2π/λ at the mask position:

₀(r)=

₀(r)f ₀(r ),   (1)

where p₀(r) is the mask amplitude function (with sharp boundaries), f₀(r)=exp[jφ(r)] is the scalar field with the distorted wavefront φ(r) representing the value to be measured. To simplify, the following assumptions are relied upon:

-   -   Mask p₀(r) is of high frequency (and uniformly random binary),         whose Fourier transform P₀(         ) (where         is the Fourier dual of r) is broadband.     -   Distorted scalar field f₀(r) is smooth enough such that its         spectrum is bandlimited, and decays sufficiently enough to zero         in high frequency regions. The wavefront φ(r) is of         low-frequency, and is first-order differentiable.

Assuming the mask 102 is placed close to sensor 104 (shown in FIG. 1) (e.g., distance

≈3 mm), that the Huygens-Fresnel based principle is relied upon. Using a compact form of Rayleigh-Sommerfeld diffraction formula, and expanded into the Fourier domain, the diffractive scalar field may be expressed as follows:

$\begin{matrix} {{u_{z}(r)} = {{{\exp \left\lbrack {{jkz}\left( {1 + \frac{\nabla^{2}}{k^{2}}} \right)}^{1/2} \right\rbrack}{u_{0}(r)}} \approx {\int{{\exp \left( {j\; 2\; \pi \; r^{T}\rho} \right)}{\exp \left\lbrack {{jkz}\left( {1 - {\lambda^{2}{\rho }_{2}^{2}}} \right)}^{1/2} \right\rbrack}{P_{0}(\rho)} \times {\exp \left( {- {jkz}} \right)}{\exp \left\lbrack {{jkz}\left( {1 + \frac{\nabla^{2}}{k}} \right)}^{1/2} \right\rbrack}{f_{0}\left( {r - {\lambda \; z\; \rho}} \right)}d\; \rho}}}} & (2) \end{matrix}$

Equation (2) may be further simplified by ignoring the diffraction of scalar field f₀(r−λ

). This is appropriate for the following reasons: (i) the distance

is small, and the diffraction effect is not obvious, and (ii) distorted scalar field f₀(r−λ

) is smooth and its spectrum decays sufficiently fast, so its Laplacian matrix exponential expansion is very small and negligible as well. Consequently, the following approximation can be relied upon:

$\begin{matrix} {{\exp \left\lbrack {{jkz}\left( {1 + \frac{\nabla^{2}}{k^{2}}} \right)}^{1/2} \right\rbrack} \approx {\exp ({jkz})}} & (3) \end{matrix}$

Subsequently, scalar field f₀(r−λ

) may be approximated by imposing Taylor expansion and linearizing φ(r−λ

) around r, which yields:

$\begin{matrix} {{f_{0}\left( {r - {\lambda \; z\; \rho}} \right)} \approx {{\exp \left\lbrack {j\; {\varphi (r)}} \right\rbrack}{{\exp \left\lbrack {{- j}\; 2\; \pi \frac{z}{k}\rho^{T}{\nabla{\varphi (r)}}} \right\rbrack}.}}} & (4) \end{matrix}$

With these approximations, Eq. (2) can be simplified as:

$\begin{matrix} {{u_{z}(r)} = {{\exp \left\lbrack {j\; {\varphi (r)}} \right\rbrack}{p_{z}\left( {r - {\frac{z}{k}{\nabla{\varphi (r)}}}} \right)}}} & (5) \end{matrix}$

where p

(r−(

/k)∇φ(r)) is the propagated diffractive scalar field of a linearly distorted mask p₀(r−(

/k)∇ζ(r)), predicted by the strict Rayleigh-Sommerfeld diffraction formula. It is worth noting that as indicated by Equation (5), in dispersion-negligible materials, φ(r)=ko(r) thus the resultant intensity is irrelevant to wave number k, indicating the possibility of using incoherent illumination for optical path measurements. In following contents no distinction is made between optical path and wavefront, and as a result

${o(r)} = {{\frac{1}{k}{\varphi (r)}} = {{\varphi (r)}.}}$

CSH wavefront sensor is based on result provided by Eq. (5). The reference image is captured under collimated illumination (i.e., wherein

₀(r)=p₀(r)), such that equation (5) above is reduced to:

I ₀(r)=|

_(z)(r)|²   (6)

which represents the diffraction pattern of the binary mask p₀(r). The measurement image is captured under distorted illumination f₀(r), such that equation (5) above is reduced to:

I ₀(r)=|

_(z)(r−z∇φ(r))|² =I ₀(r−z∇φ(r))   (7)

In this way, the local slope ∇φ(r) is encoded in the diffraction pattern image pair I₀(r) and I(r), which can be solved in a number of different ways. For example, in one embodiment decoding involves utilizing a simple least squares method linearized around r (as described below). In another embodiment, an iterative nonlinear least squares updating using warping theory. After getting the wavefront slope ∇φ(r), the unknown wavefront φ(r) can then be reconstructed by integrating over the previously obtained slopes.

In some embodiments, however, the distance

is unknown and the displacements in the diffraction images pair depend on the physical scale of r. Therefore, under these conditions the reconstructed wavefront φ(r) can only be determined up to a scaled constant. In this embodiment, to correctly retrieve the wavefront φ(r), there is an additional constant that needs to be computed. One method of computing this scaling constant is to determine empirically in a least squares sense over all the wavefront samples against the ground truth wavefront (described in more detail below). In this way, the CSH wavefront sensor is regarded as a first-order sensing methods.

To numerically decode the hidden phase information of the CSH wavefront sensor, equation (7) is further linearized around r, as follows:

I(r)−I ₀(r)≈z(∇I ₀(r)^(T)∇φ(r)   (8)

which represents the final image formation model that contains the wanted phase information φ(r). In this embodiment, phase information φ(r) is solved for directly. A benefit of this approach is that it takes advantage of the curl-free property of the flow, and allows for solving a joint optimization problem simultaneously.

In one embodiment, the decoding operation formulates the wavefront retrieval problem in discrete form. In this embodiment, let the total sensor pixel number be M, and the unknown wavefront φϵ

^(N), where N>M includes unobserved boundary values. By defining image gradient fields g_(x) ϵ

^(M) and g_(y) ϵ

^(M) as the average x and y gradients of the reference image and measured image, and g_(t) ϵ

^(M) as the temporal gradient between the two, a concatenated matrix G=[diag(g_(x))diag(g_(y))] ϵ

^(M×2M) is obtained, where diag(⋅) denotes the diagonal matrix formed by the corresponding vector. The gradient operator is defined as ∇=[∇_(x) ^(T)∇_(y) ^(T)]^(T):

^(N)→

^(2N) where ∇_(x) and ∇_(y) are discrete gradient operators along x and y directions respectively. With a binary diagonal matrix M₀ ϵ

_({0,1}) ^(2M×2N) denoting the measurement positions, and define

M = [ M o 0 0 M o ] ∈ { 0 , 1 } 2  M × 2  N , we   have  :   minimize φ   GM  ∇ φ + g t  2 2 + α   ∇ φ  2 2 , ( 9 )

where the classical Horn-Schunck intensity consistency term is imposed, with a regularization term on the phase smoothness. The parameter α>0 is a tradeoff parameter between the two terms. Exploiting proper splitting strategy, Eq. (9) can be efficiently solved using Alternating Direction Method of Multipliers (ADMM).

In one embodiment, a slack variable w ϵ

^(2N) is introduced to allow the original object function shown in Eq. (9) to be split into two parts, represented as:

$\begin{matrix} {{{\underset{\varphi,w}{minimize}\mspace{14mu} {f(\varphi)}} + {g(w)}},{{{subject}\mspace{14mu} {to}\mspace{14mu} w} = {\nabla\varphi}}} & (10) \end{matrix}$

where the two functions f(⋅)- and g(⋅) are defined as:

f:

^(N) →

f(φ)=α∥∇φ∥₂ ²

g:

^(2N) →

g(w)=∥GM∇φ+g _(t)∥₂ ², with w|=∇φ

Using the Alternating Direction Method of Multipliers (ADMM) yields Algorithm (1), where ζϵ

^(2N) is the dual variable. The updating of φ and w may be computed using the ADMM as follows:

Algorithm 1. ADMM for solving Eq. (10)   1: Initialize w⁰ and ζ⁰, set λ > 0 and K 2: for k = 0, 1, . . . , K − 1 do 3:    $\left. \varphi^{k + 1}\leftarrow{{\arg \; {\min\limits_{\varphi}{f(\varphi)}}} + {\frac{1}{2\; \lambda}{{{\nabla\varphi} - w^{k} + \zeta^{k}}}_{2}^{2}}} \right.$ 4:   w^(k+1) ← prox_(λg)(∇ϕ^(k+1)ζ^(k)) 5:   ζ^(k+1) ← ζ^(k) + ∇ϕ^(k+1) − w^(k−1) 6: return ϕ^(K)

(i) The φ-Update Step

In one embodiment, the φ-update step (wavefront estimation) involves solving a Poisson equation, which usually requires proper boundary conditions in conventional approaches. However, in one embodiment, because of the existence of M, the unknown boundary values (i.e. the non-zero elements of (I−M₀ ^(T)M₀)φ, where I is identity matrix) are implicitly determined by minimizing the objective. When trivial boundary conditions are assumed, the resultant Poisson equation solution leads to non-trivial boundary values on the observed part of wavefront φ, which allows for the estimation M₀φ. In some embodiments, the Neumann boundary condition suffices to yield a good estimation constrained to smallest possible N. In these embodiments, by just assuming Neumann boundary condition on the linear operators, denoting

_(DCT) and

Y_(DCT) ⁻¹ as forward and inverse Discrete Cosine Transforms (DCT) respectively, φ-update is given by:

$\begin{matrix} \begin{matrix} {\varphi^{k + 1} = {{\arg \; {\min\limits_{\varphi}\; {\alpha {{\nabla\varphi}}_{2}^{2}}}} + {\frac{1}{2\lambda}{{{\nabla\varphi} - w^{k} + \zeta^{k}}}_{2}^{2}}}} \\ {= {\left( {\left( {{2\lambda \; \alpha} + 1} \right)\nabla^{2}} \right)^{- 1}{\nabla^{T}\left( {w^{k} + \zeta^{k}} \right)}}} \\ {= {\mathcal{F}_{DCT}^{- 1}\left( \frac{\mathcal{F}_{DCT}\left( {\nabla^{T}\left( {w^{k} + \zeta^{k}} \right)} \right)}{\left( {{2\lambda \; \alpha} + 1} \right){\mathcal{F}_{DCT}\left( \nabla^{2} \right)}} \right)}} \end{matrix} & (11) \end{matrix}$

where the division is element-wise. Note that forward/inverse DCT can be efficiently implemented via forward/inverse Fast Fourier Transforms (FFT), respectively.

(ii) w-Update Step

In one embodiment, the w-update step (slack variable) involves the evaluation of prox_(λg)(u), the proximal operator of g(w) with parameter λ, which is defined and computed as:

$\begin{matrix} \begin{matrix} {{{prox}_{\lambda \; g}(u)} = {{\arg \; {\min\limits_{w}{{{GMw} + g_{t}}}_{2}^{2}}} + {\frac{1}{2\lambda}{{w - u}}_{2}^{2}}}} \\ {= {\left( {I + {2\lambda \; M^{T}G^{T}{GM}}} \right)^{- 1}\left( {u - {2\; \lambda \; M^{T}G^{T}g_{t}}} \right)}} \\ {= {{{M^{T}\left( {I + {2\lambda \; G^{T}G}} \right)}^{- 1}\left( {{Mu} - {2\lambda \; G^{T}g_{t}}} \right)} +}} \\ {{\left( {I - {M^{T}M}} \right)u}} \end{matrix} & (12) \end{matrix}$

wherein I+2λG^(T)G is diagonal in blocks and whose inverse is also diagonal in blocks and in closed-form, so is prox_(λg)(u). In this embodiment, the computation of prox_(λg)(u) is element-wise. In one embodiment, to suppress noise, a median filtering is imposed to the final gradient estimation. In one embodiment, the estimated wavefront φ_(estimate) is computed by solving Eq. (11), with median filtered (w^(K)+ζ^(K)). In this embodiment, M₀φ_(estimate) is used as the final output wavefront.

One of the benefits of the described decoding process is the ability to execute the decoding process in a highly efficient and parallelizable manner For example, the update step described above exploits Fast Fourier Transform (FFT) operations, element-wise operation, or simple convolutions. In addition, in one embodiment processing system 106 (shown in FIG. 1) utilizes GPU to perform the FFT operations. In one embodiment, the CUDA and CuFFT library is utilized to execute FFT operations, and the unknown size N is set to a power of two. Given the actual pixel number M, the unknown size N can be defined arbitrarily as long as N>M, and hence is well suited for numerical implementations. In one embodiment, utilization of N−M˜10 is utilized, although in other embodiment other value of N may be utilized.

Several of the parameters described above may be modified, with each modification affecting the subsequent influence on the convergence speed of the decode algorithm For example, in one embodiment the proximal parameter λ determines, at least in part, the convergence speed of the ADMM algorithm shown in FIG. 5.

FIG. 3 illustrates the capture of a planar/reference wavefront image, a distorted/measurement wavefront image, and the difference between the reference wavefront image and the measurement wavefront image. In particular, the images on the left illustrate a captured reference image, wherein the top portion illustrates the entire captured image and the bottom portion illustrates a magnified view of the top portion. The images in the center illustrate a captured measurement image, wherein the top portion illustrates the entire captured image and the bottom portion illustrates a magnified view of the top portion. The images on the right illustrate the difference between the captured reference image and the captured measurement image. The difference between the reference image and the measurement image illustrates the local shifting of the diffraction pattern as a result of the distorted wavefront. In this way, FIG. 3 illustrates the necessity of capturing a reference image based on a planar wavefront in order to prepare the wavefront sensor for capture.

FIG. 4 illustrates fabrication of a binary mask utilized by the wavefront sensor according to an embodiment of the present invention. At step 400, mask pattern 402 is written to a first side of photomask 404. In this embodiment, photomask 404 is a Soda Lime photomask, but in other embodiments various other well-known types of photomasks may be utilized. In addition, in this embodiment a laser direct writer is utilized to write mask pattern 402 onto the first side of photomask 404.

At step 406, a thin layer 408 is deposited onto a side of wafer 410. In the embodiment shown in FIG. 4, thin layer 408 is a chromium (Cr) layer is deposited onto a translucent substrate 410. In one embodiment, translucent substrate 410 is a fused silica wafer, but in other embodiments other types of translucent substrates could be utilized. In one embodiment, the translucent substrate may be completely transparent.

At step 412, a uniform photoresist layer 414 is deposited on top of the thin layer 408. In one embodiment, a spin-coating method is utilized to deposit the photoresist layer onto thin layer 408.

At step 416, wafer 410 is aligned with photomask 404 on a contact aligner and the photoresist layer 414 is exposed to UV light. Depending on the type of photoresist layer utilized (positive or negative), either the areas exposed to UV light become soluble to the photoresist developer or the areas exposed to the UV light become insoluble to the photoresist developer.

At step 418, a development solution is utilized to either remove areas exposed to UV light at step 416 or remove areas unexposed to UV light at step 416.

At step 420, an etching process is utilized to etch portions of thin layer 408. Having etched the exposed portions of thin layer 408, remaining photoresist is removed, leaving the final binary mask formed on fused silica wafer 410.

Accuracy of a proposed Coded Shack-Hartmann wavefront sensor is provided based on experimental results. The experimental setup relies on generation of a plurality of different target wavefronts. In this embodiment, target wavefronts are generated using a reflective LCoS-based Spatial Light Modulator (SLM) (e.g., PLUTO SLM by HOLOEYE) having a pixel pitch of approximately 8 μm, and the maximum phase retardation of 2π. For collimated illumination, a faraway white point light source is employed, along with a polarizer placed in the optical path to allow for phase-only modulation of the SLM. A beamsplitter is employed, along with a Kepler telescope configuration utilized to ensure the SLM and wavefront sensor are in conjugate, to ensure that the distorted wavefront measured by the CSH wavefront sensor is the one produced by the SLM. In this experiment, the Kepler telescope is composed of two lenses, with focal lengths of 100 mm and 75 mm, respectively. The sensor exposure time is set to be 5 ms in both calibration and measurement steps.

Using the above mentioned optical setup, four types of wavefront samples were generated and acquired, each with a series of different scales: (i) cubic phases, (ii) spherical phases, (iii) single-mode Zernike phases, and (iv) customized Zernike phases. Each of these wavefronts are analyzed to determine how parameters may be tuned to measure and detect the desired wavefront, as well as the tradeoff expected between execution time and accuracy of the detected wavefront.

Tuning of Proximal Parameter λ

FIG. 5 is a graph indicating how proximal parameter λ affects convergence of the algorithm according to an embodiment of the present invention. Tuning of proximal parameter λ determines the convergence speed of the ADMM algorithm. In one experiment, proximal parameter λ is evaluated for a fixed iteration number K=20, using the spherical wavefront data. Results are provided in FIG. 5, in which a plurality of values of proximal parameter λ are evaluated. As illustrated in FIG. 5, a large value of proximal parameter λ makes the problem stiff and therefore convergences slowly, while a smaller value of proximal parameter λ slows the convergence when iterations increase because of a lack of constraint. In this experiment, a suitable choice of proximal parameter λ lies in the range of (0.002, 0.02), with a value of λ=0.01 being utilized herein.

Tradeoff Between Time and Accuracy

In addition to the proximal parameter 2, there is also a tradeoff between time and accuracy of the decoding algorithm. For example, to suppress noise, a median filtering on the estimated gradients is imposed at the last step. In practice, a median filtered final gradient estimation could indeed benefit for a smoother reconstructed wavefront. In addition, lower energy, in this case in the form of a large number of iterations and more computation time, does not equivalently yield better results. On the other hand, the original energy function may not converge sufficiently if given inadequate number of iterations. Consequently, it is necessary to investigate the tradeoff between time and accuracy. In one embodiment, a value of K=10 yields a good tradeoff.

Scaling Constant

As mentioned before, a scaling constant is also computed. In one embodiment, the scaling constant is determined by way of (i) mean normalization on the reconstructed wavefront; (ii) comparing with ground truth and determining a suitable scaling constant for each pixel position, (iii) getting the median as the scaling constant for each individual wavefront reconstruction, (iv) and obtaining the final scaling constant as the mean of the medians in step (iii). In one embodiment, an estimation for the scaling constant is set to 0.25.

FIG. 6 are graphs that illustrate the accuracy of the CSH wavefront sensor according to an embodiment of the present invention. The top graph illustrates mean absolute error of all sample wavefronts. The bottom graph illustrates average angular error of all the sample wavefront gradients. As illustrated in the top graph, for most wavefront samples, the mean absolute error is less than 0.1 wavelengths, which is ˜50 nm if monochromatic green light is considered. This illustrates that the CSH wavefront sensor is highly sensitive.

In addition to good error performance, the CSH wavefront sensor provides efficient run-time operation. In one embodiment, the run-time of the wavefront reconstruction algorithm is mainly reduced by reducing the required number of iterations. For example, in one embodiment the first iteration or update of the wavefront φ may be skipped when slack variable w⁰ and ζ⁰ are set to zero vectors.

The present invention provides a wavefront sensor utilized to measure the phase of distorted wavefronts. In one embodiment, the wavefront sensor described herein as a Coded Shack-Hartmann wavefront sensor utilizes in a foreground mask that is utilized to modulate the incoming wavefront at diffraction scale. The resulting wavefront information is encoded by the diffraction pattern, and is numerically decoded by a wavefront reconstruction algorithm that relies on a simple optimization method. In this way, the Coded Shack-Hartmann wavefront sensor provides higher pixel utilization, full sensor resolution wavefront reconstruction, and efficient parallel computation and real-time performance as compared with traditional wavefront sensors such as the traditional Shack-Hartmann wavefront sensor.

While the invention has been described with reference to an exemplary embodiment(s), it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment(s) disclosed, but that the invention will include all embodiments falling within the scope of the appended claims. 

1. A wavefront sensor comprising: a foreground mask that modulates an incoming wavefront to create a diffraction pattern; and a sensor located behind the foreground mask that captures the diffraction pattern generated as a result of modulation of the incoming wavefront by the foreground mask.
 2. The wavefront sensor of claim 1, wherein the foreground mask is one of a binary mask, a uniform random binary mask, gray scale mask, diffuser, or wavelength-dependent mask.
 3. The wavefront sensor of claim 1, wherein the foreground mask is located a distance z in front of the sensor.
 4. The wavefront sensor of claim 3, wherein the distance z is selected based on the application to create a desired diffraction pattern
 5. The wavefront sensor of claim 3 wherein the distance z has a range of between 0.1 millimeters to 1.0 centimeters.
 6. The wavefront sensor of claim 1, further comprising: a processor configured to compare a diffraction pattern of a reference image captured in response to a planar wave incident on the sensor with a diffraction pattern of a measurement image captured in response to a distorted wavefront incident on the sensor.
 7. The wavefront sensor of claim 6, wherein the processor measures local sub-pixel shifts between the reference image and the measurement image and utilizes these local sub-pixel shifts to detect local slopes of the distorted wavefront.
 8. A method of measuring a phase of a distorted wavefront, the method comprising: capturing a reference image based on a plane wavefront directed through a foreground mask to a sensor located behind the mask; capturing a measurement image based on a distorted wavefront directed through the foreground mask to the sensor; and numerically solving a joint optimization problem using the reference image and the measurement image to obtain local slope information of the distorted wavefront.
 9. The method of claim 8, wherein the reference image is captured utilizing a collimated light source.
 10. The method of claim 8, wherein the distorted wavefront is reconstructed utilizing an alternating direction method of multipliers (ADMM) methodology.
 11. The method of claim 8, wherein the foreground mask is selected from the group comprising a binary mask, a uniform random binary mask, a gray scale mask, diffuser, and a wavelength-dependent mask.
 12. The method of claim 11, wherein the foreground mask is located a distance z in front of the sensor.
 13. A method of manufacturing a foreground mask, the method comprising: writing a mask pattern to a first side of a photomask; depositing a thin layer onto a first side of a translucent wafer; depositing a uniform photoresist layer on top of the thin layer; aligning the translucent wafer with the photomask on a contact aligner; exposing the photoresist layer to UV light; applying a development solution to the photoresist layer; and etching portions of the thin layer to expose the masking pattern of the foreground mask.
 14. The method of claim 13, wherein the mask pattern is selected from the group comprising a binary mask pattern, a uniform random binary mask pattern, a gray scale mask pattern, a diffuser mask pattern, and a wavelength-dependent mask pattern. 